﻿using HCDV.HCSP;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace BsForApi
{
    public static class JDOutStore
    {
        public static void 原料直接登记发货时同步基地的原料出库(string csgetpc, double 发货量)
        {
            using (dbsimple db = new dbsimple())
            {
                //初始化明细的发货量
                db.exe(string.Format(@"update  hsc_task_store  set yloutall=0  where 
 csgetpc='{0}'  and inouttype='采摘入库'", csgetpc));

                DataTable dt = db.Query(string.Format(@"select id,storeall, hasoutall,storeall-hasoutall 还可以出库量,yloutall from hsc_task_store where 
 csgetpc='{0}'  and inouttype='采摘入库' order by id", csgetpc));
                foreach (DataRow dr in dt.Rows)
                {
                    if (发货量 > 0)
                    {
                        double 还可以出库量 = double.Parse(dr["还可以出库量"].ToString());
                        if (还可以出库量 <= 发货量)//都发
                        {
                            发货量 = 发货量 - 还可以出库量;
                            db.exe(string.Format(@"update  hsc_task_store  set yloutall={1}  where 
 id={0}  and inouttype='采摘入库'", dr["id"].ToString(), 还可以出库量));
                        }
                        else
                        {
                            db.exe(string.Format(@"update  hsc_task_store  set yloutall={1}  where 
 id={0}  and inouttype='采摘入库'", dr["id"].ToString(), 发货量));
                            发货量 = 0;
                        }

                    }
                }
            }
        }
        public static void 成品直接登记发货时同步基地的原料出库(string csgetpc, double 发货量)
        {
            using (dbsimple db = new dbsimple())
            {
                //初始化明细的发货量
                db.exe(string.Format(@"update  hsc_task_store  set yloutall=0  where 
 csgetpc='{0}'  and inouttype='加工完成入库'", csgetpc));

                DataTable dt = db.Query(string.Format(@"select id,storeall, hasoutall,storeall-hasoutall 还可以出库量,yloutall from hsc_task_store where 
 csgetpc='{0}'  and inouttype='加工完成入库' order by id", csgetpc));
                foreach (DataRow dr in dt.Rows)
                {
                    if (发货量 > 0)
                    {
                        double 还可以出库量 = double.Parse(dr["还可以出库量"].ToString());
                        if (还可以出库量 <= 发货量)//都发
                        {
                            发货量 = 发货量 - 还可以出库量;
                            db.exe(string.Format(@"update  hsc_task_store  set yloutall={1}  where 
 id={0}  ", dr["id"].ToString(), 还可以出库量));
                        }
                        else
                        {
                            db.exe(string.Format(@"update  hsc_task_store  set yloutall={1}  where 
 id={0}   ", dr["id"].ToString(), 发货量));
                            发货量 = 0;
                        }

                    }
                }
            }
        }
    }
}
